package com.zyl.file.service;


import com.zyl.file.result.Result;
import com.zyl.file.vo.SplitUploadVO;

import java.io.InputStream;

/**
 * @author zyl
 * @date 2023/8/11 9:33:28
 * @title 本地存储分片上传
 * @description
 */
public interface LocalSplitFileService {

    /**
     * 分片文件上传
     * @param splitFile 分片文件
     * @param fileName 文件名
     * @param splitUploadVO 分片文件对象，用来是否是相同文件
     * @param partNumber 当前片数
     * @return
     */
    Result uploadSplit(byte[] splitFile, String fileName, SplitUploadVO splitUploadVO, Integer partNumber);

    /**
     * 合并文件
     * @param splitUploadVO 分片文件对象，用来是否是相同文件
     * @return
     */
    Result merge(SplitUploadVO splitUploadVO);

    /**
     * 替换指定文件
     * @param newFileStream
     * @param url
     * @param equipmentId
     * @return
     */
    Result replaceFile(InputStream newFileStream, String url, Long equipmentId);
}
